

String.prototype.Trim = function() {
	return this.replace(/^\s+|\s+$/g, "")
};
String.prototype.LTrim = function() {
	return this.replace(/^\s+/g, "")
};
String.prototype.RTrim = function() {
	return this.replace(/\s+$/g, "")
};

// 判断浏览器
function isIE() {
	return (document.all && window.ActiveXObject && !window.opera)
			? true
			: false;
}

function getBodySize() {// 获取页面大小
	var bodySize = [];
	with (document.documentElement) {
		bodySize[0] = (scrollWidth > clientWidth) ? scrollWidth : clientWidth;
		bodySize[1] = (scrollHeight > clientHeight)
				? scrollHeight
				: clientHeight;
	}
	return bodySize;
}

function toTXT(str){
	if(str=='' || str=="" || str==null){
		return '';
	}
     var RexStr = /\<|\>|\"|\'|\&/g 
     str = trimForRN2(str);
     if(str=='' || str=="" || str==null){
		return '';
	 }
     str = str.replace(RexStr, 
         function(MatchStr){ 
             switch(MatchStr){ 
                 case "<": 
                     return "&lt;"; 
                     break; 
                 case ">": 
                     return "&gt;"; 
                     break; 
                 case "\"": 
                     return "&quot;"; 
                     break; 
                 case "'": 
                     return "&#39;"; 
                     break; 
                 case "&": 
                     return "&"; 
                     break; 
                 default : 
                     break; 
             } 
         } 
     ) 
     return str; 
} 

/** * 删除首尾空格 ** */
String.prototype.Trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
/** * 统计指定字符出现的次数 ** */
String.prototype.Occurs = function(ch) {
	// var re = eval("/[^"+ch+"]/g");
	// return this.replace(re, "").length;
	return this.split(ch).length - 1;
}
/** * 检查是否由数字组成 ** */
String.prototype.isDigit = function() {
	var s = this.Trim();
	return (s.replace(/\d/g, "").length == 0);
}
/** * 检查是否由数字字母和下划线组成 ** */
String.prototype.isAlpha = function() {
	return (this.replace(/\w/g, "").length == 0);
}


/** * 返回字节数 ** */
String.prototype.lenb = function() {
	return this.replace(/[^\x00-\xff]/g, "**").length;
}
/** * 检查是否包含汉字 ** */
String.prototype.isInChinese = function() {
	return (this.length != this.replace(/[^\x00-\xff]/g, "**").length);
}
/** * 简单的email检查 ** */
String.prototype.isEmail = function() {
	var strr;
	var mail = this;
	var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
	re.exec(mail);
	if (RegExp.$3 != "" && RegExp.$3 != "." && RegExp.$2 != ".")
		strr = RegExp.$1 + RegExp.$2 + RegExp.$3;
	else if (RegExp.$2 != "" && RegExp.$2 != ".")
		strr = RegExp.$1 + RegExp.$2;
	else
		strr = RegExp.$1;
	return (strr == mail);
}
/** * 简单的日期检查，成功返回日期对象 ** */
String.prototype.isDate = function() {
	var p;
	var re1 = '/(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/';
	var re2 = '/(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/';
	var re3 = '/(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/';
	if (re1.test(this)) {
		p = re1.exec(this);
		return new Date(p[1], p[2], p[3]);
	}
	if (re2.test(this)) {
		p = re2.exec(this);
		return new Date(p[3], p[1], p[2]);
	}
	if (re3.test(this)) {
		p = re3.exec(this);
		return new Date(p[3], p[1], p[2]);
	}
	return false;
}
/** * 检查是否有列表中的字符字符 ** */
String.prototype.isInList = function(list) {
	var re = eval("/[" + list + "]/");
	return re.test(this);
}

function ChkUtil() {
}
// 校验是否为空(先删除二边空格再验证)
ChkUtil.isNull = function(str) {
	if (null == str || "" == str.trim()) {
		return true;
	} else {
		return false;
	}
};
// 校验是否全是数字
ChkUtil.isDigit = function(str) {
	var patrn = /^\d+$/;
	return patrn.test(str);
};
// 校验是否是整数
ChkUtil.isInteger = function(str) {
	var patrn = /^([+-]?)(\d+)$/;
	return patrn.test(str);
};
// 校验是否为正整数
ChkUtil.isPlusInteger = function(str) {
	var patrn = /^([+]?)(\d+)$/;
	return patrn.test(str);
};
// 校验是否为负整数
ChkUtil.isMinusInteger = function(str) {
	var patrn = /^-(\d+)$/;
	return patrn.test(str);
};
// 校验是否为浮点数
ChkUtil.isFloat = function(str) {
	var patrn = /^([+-]?)\d*\.\d+$/;
	return patrn.test(str);
};
// 校验是否为正浮点数
ChkUtil.isPlusFloat = function(str) {
	var patrn = /^([+]?)\d*\.\d+$/;
	return patrn.test(str);
};
// 校验是否为负浮点数
ChkUtil.isMinusFloat = function(str) {
	var patrn = /^-\d*\.\d+$/;
	return patrn.test(str);
};
// 校验是否仅中文
ChkUtil.isChinese = function(str) {
	var patrn = /[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
	return patrn.test(str);
};
// 校验是否仅ACSII字符
ChkUtil.isAcsii = function(str) {
	var patrn = /^[\x00-\xFF]+$/;
	return patrn.test(str);
};
// 校验手机号码
ChkUtil.isMobile = function(str) {
	var patrn = /^0?1((3[0-9]{1})|(59)){1}[0-9]{8}$/;
	return patrn.test(str);
};
// 校验电话号码
ChkUtil.isPhone = function(str) {
	var patrn = /^(0[\d]{2,3}-)?\d{6,8}(-\d{3,4})?$/;
	return patrn.test(str);
};
// 校验URL地址
ChkUtil.isUrl = function(str) {
	var patrn = /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;
	return patrn.test(str);
};
// 校验电邮地址
ChkUtil.isEmail = function(str) {
	var patrn = /^[\w-]+@[\w-]+(\.[\w-]+)+$/;
	return patrn.test(str);
};
// 校验邮编
ChkUtil.isZipCode = function(str) {
	var patrn = /^\d{6}$/;
	return patrn.test(str);
};
// 校验合法时间
ChkUtil.isDate = function(str) {
	if (!/\d{4}(\.|\/|\-)\d{1,2}(\.|\/|\-)\d{1,2}/.test(str)) {
		return false;
	}
	var r = str.match(/\d{1,4}/g);
	if (r == null) {
		return false;
	};
	var d = new Date(r[0], r[1] - 1, r[2]);
	return (d.getFullYear() == r[0] && (d.getMonth() + 1) == r[1] && d
			.getDate() == r[2]);
};
// 校验字符串：只能输入6-20个字母、数字、下划线(常用手校验用户名和密码)
ChkUtil.isString6_20 = function(str) {
	var patrn = /^(\w){6,20}$/;
	return patrn.test(str);
};

// 复制URL地址
function setCopy(_sTxt) {
	if (navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
		clipboardData.setData('Text', _sTxt);
		alert("网址“" + _sTxt + "”\n已经复制到您的剪贴板中\n您可以使用Ctrl+V快捷键粘贴到需要的地方");
	} else {
		prompt("请复制网站地址:", _sTxt);
	}
}

// 加入收藏
function addBookmark(site, url) {
	if (navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
		window.external.addFavorite(url, site)
	} else if (navigator.userAgent.toLowerCase().indexOf('opera') > -1) {
		alert("请使用Ctrl+T将本页加入收藏夹");
	} else {
		alert("请使用Ctrl+D将本页加入收藏夹");
	}
}

function isEmpty(value) {
	value = value.replace(/[ ]/g, '');
	if (value.length < 1) {
		return true;
	}
	return false;
}

// 通过移动小数点 扩大倍数 将科学计数法转换成整数
function scienceNum(value) {
	if (!isEmpty(value)) {
		var num = 0;
		if ((num = value.indexOf('E')) != -1
				|| (num = value.indexOf('e')) != -1) {
			var doubleStr = value.substring(0, num);
			var eStr = value.substring(num + 1, value.length);
			eStr = parseInt(eStr);
			var doubleStrList = doubleStr.split('.');
			var doubleStr1 = doubleStrList[0];
			var doubleStr2 = doubleStrList[1];

			if (doubleStr2.length > eStr) {
				var nums = doubleStr2.substring(0, eStr);
				var nume = doubleStr2.substring(eStr, doubleStr2.length);
				doubleStr = doubleStr1 + nums + '.' + nume;
			} else if (doubleStr2.length < eStr) {
				var indexNum = eStr - doubleStr2.length;
				// 用0补齐
				var str = '';
				for (var i = 0; i < indexNum; i++) {
					str += '0';
				}
				doubleStr = doubleStr1 + doubleStr2 + str;
			} else {
				doubleStr = doubleStr1 + doubleStr2;
			}
			value = doubleStr;
			// 千分位
		}
	}
	return value;
}
